package com.dyj.goodlife.client;

import com.dtflys.forest.annotation.*;
import com.dyj.common.domain.DataAndExtraVo;
import com.dyj.common.domain.query.BaseQuery;
import com.dyj.common.interceptor.ClientTokenInterceptor;
import com.dyj.goodlife.domain.vo.FulfilmentCertificatePrepareVo;

/**
 * 通用接口->团购核销
 */
@BaseRequest(baseURL = "${domain}")
public interface GroupPurchaseVerifyClient {


    /**
     * 验券准备
     * @param accountId <p>核销商户根账户ID（云连锁/共管场景下，挂靠商户必传，其余场景可不传）</p> 选填
     * @param code <p>券码明文</p><p>常见于使用用户提供的券码手动输入商家后台进行验券的场景</p><p><span style="color: #F04142;"><span style="font-size: 14px;">encrypted_data和code二选一必传，两个都不传会报错</span></span></p> 选填
     * @param encryptedData <p>从二维码解析出来的标识</p><p>(传参前需要先进行URL编码，注意不要有空格)</p><p><span style="color: #F04142;"><span style="background-color: #F7F8FA;"><span style="font-size: 14px;">encrypted_data和code二选一必传，两个都不传会报错</span></span></span></p> 选填
     * @param poiId <p>操作核销的抖音门店id（必传）</p> 选填
     * @return
     */
    @Get(value = "${fulfilmentCertificatePrepare}", interceptor = ClientTokenInterceptor.class)
    DataAndExtraVo<FulfilmentCertificatePrepareVo> fulfilmentCertificatePrepare(@Var("query") BaseQuery query, @Header("Rpc-Transit-Life-Account") @Query("account_id") String accountId, @Query("code") String code, @Query("encrypted_data") String encryptedData, @Query("poi_id") String poiId);


}
